package iD220711010131;

import java.util.Scanner;

/*

:GamingForces

每个test2秒的时间限制

每个测试的内存限制为256兆字节

inputstandard输入
outputstandard输出
Monocarp正在玩电脑游戏。他要杀死n个怪物，第i个怪物有他的生命值。
Monocarp的角色有两个咒语，他可以任意施放任意次数(可能是零次)和任意顺序:
选择两个活着的怪物，将它们的生命值降低1;
选择一个怪物并杀死它。
当怪物的生命值变为0时，它就会死亡。
为了杀死所有的怪物，Monocarp应该执行的最小施法次数是多少?
输入
第一行包含一个整数t(1≤t≤104)——测试用例的数量。
每个测试用例的第一行包含一个整数n(1≤n≤100)——怪物的数量。
第二行包含n个整数h1,h2，…，hn(1≤hi≤100)-每个怪物的生命值。
n除以所有测试用例的和不超过2*10**4。
输出
对于每个测试用例，打印一个整数——Monocarp为了杀死所有怪物应该执行的最小施法次数。
3
4
1 2 1 2
3
2 4 2
5
1 2 3 4 5

3
3
5


 */



public class MainKill {
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc =new Scanner(System.in);
        int t = sc.nextInt();
        while(t-- > 0) {
            int n = sc.nextInt();
            int[] HP = new int[n];
            for(int i = 0; i < n; i++) {
                HP[i] = sc.nextInt();
            }/*
            for(int i = 0; i < n; i++) {
                System.out.print(HP[i] + "_");
            }System.out.println();*/
            int times = 0;
            while(true) {
                //假设怪都死了
                boolean flag = true;
                //判断怪死没死完
                for(int i = 0; i < n; i++) {
                    if(HP[i] != 0) {
                        flag = false;
                    }
                }if(flag == true) {
                    break;
                }else if(flag == false) {
                    doOnce(n, HP);
                    times++;
                }
            }System.out.println(times);
        }
    }



    private static void doOnce(int n, int[] HP) {
        // TODO Auto-generated method stub
        //System.out.println(all(n, HP) + "," + solo(n, HP));
        if(all(n, HP) > solo(n, HP)) {
            doAll(n, HP);
        }else {
            doSole(n, HP);
        }/*
        for(int i = 0; i < n; i++) {
            System.out.print(HP[i] + "_");
        }System.out.println();*/
    }

    private static void doSole(int n, int[] HP) {
        // TODO Auto-generated method stub
        int max = 0;
        int record = 0;
        for(int i = 0; i < n; i++) {
            if(HP[i] > max) {
                max = HP[i];
                record = i;
            }
        }HP[record] = 0;
    }

    private static void doAll(int n, int[] HP) {
        // TODO Auto-generated method stub
        for(int i = 0; i < n; i++) {
            if(HP[i] > 0) {
                HP[i]--;
            }
        }
    }

    //计算每次伤害量
    private static int solo(int n, int[] HP) {
        // TODO Auto-generated method stub
        //找到血量最高的怪使用技能
        int max = 0;
        for(int i = 0; i < n; i++) {
            if(HP[i] > max) {
                max = HP[i];
            }
        }return max;
    }

    private static int all(int n, int[] HP) {
        // TODO Auto-generated method stub
        int count = 0;
        for(int i = 0; i < n; i++) {
            //统计存活怪物的数量
            if(HP[i] > 0) {
                count++;
            }
        }return count;
    }

   

}
